﻿using System.ComponentModel.DataAnnotations;

namespace DomainModel
{
    /// <summary>
    /// Représente un objet patrimonial générique
    /// </summary>
    public class ObjetPatrimonial : Entity
    {
        [Required]
        public string Code { get; private set; }
        public string Label { get; private set; }
        public int Age { get; set; }
        public string Town { get; set; }

        /// <summary>
        /// Workround pour pouvoir persister des propriétés de type Enum avec EF.4.x
        /// </summary>
        public int ObjetPatrimonialStateValue { get; private set; }

        public ObjetPatrimonialState State
        {
            get { return (ObjetPatrimonialState) ObjetPatrimonialStateValue; }
            set { ObjetPatrimonialStateValue = (int) value; }
        }

        public ObjetPatrimonial()
        {
        }

        public ObjetPatrimonial(string code, string label)
        {
            Code = code;
            Label = label;
        }

        public bool IsLocatedInBigTown()
        {
            if (Town == "Paris" || Town == "Marseille") return true;
            return false;
        }
    }



}
